﻿using System;
namespace GaiNo.Core.Data
{
    internal sealed class Mapper
    {
        private static volatile ISqlMapper _mapper = null;
        public static ISqlMapper Instance()
        {
            if (_mapper == null)
            {
                lock (typeof(SqlMapper))
                {
                    if (_mapper == null) // double-check
                    {
                        InitMapper();
                    }
                }
            }
            return _mapper;
        }
        private static void InitMapper()
        {
            SqlMapBuilder builder = new SqlMapBuilder();
            _mapper = builder.ConfigureAndWatch();
        }
    }
}
